package com.app.service;

import com.app.model.*;
import com.app.vo.FormVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface FormService {


    FormModel getFormById(int id);

    Page<FormModel> getPageFormList(int page, int limit,Integer userId,Integer Status);//分页查询

    FormVo getPageByModel(FormModel model);//分页查询

    List<FormModel> getModelByUserId(Integer userId);
//    Page<FormModel> getPageMyFormList(int page, int limit,Integer userId,Integer Status);//分页查询自己

//    List<RoleModel> getRoleListLikeName(String roleName);//根据角色名字筛选

    void update(FormModel model);

    void insert(FormModel model);

    void delete(int id);

//    Integer plantCount(List<Integer> idsList);
//
//    List<PlantModel> getStatisticsByIds(List<Integer> idList, String key);//首页统计
//
//    List<PlantModel> getPlantByIds(List<Integer> idList);//根据阵地ID导出

    Integer getModelTodayCount(Boolean register);//今日数量

    Integer getModelYesterdayCount(Boolean register);//昨日数量

    Integer getModelByQuestionTypeCount(Integer questionType,Integer status);//不文明统计

    Integer getModelCountByTime(String crtTime,Integer questionType);

    Integer getModelCountByTimeAndStatus(String crtTime,Integer status);

    Integer getModelCount(Integer status);


    List<CategoryModel> selectTypeList();

    List<RoadModel> road();

    List<RoadModel> get();

    FormVo getSuperintendList(FormModel model);

    List<CategoryModel> selectTermList();

    void insertAppeal(AppealModel model);

    void updateAppeal(AppealModel model);

    AppealModel selectAppeal(Integer id);

    void insertHandle(FormRemarkModel model);

    FormRemarkModel selectHandle(Integer id);

    FormRemarkModel selectRemark(Integer formId);

    void updateHandle(FormRemarkModel model);

    List<AppealModel> getAppeal();

    AppealModel selectAppealById(Integer formId);


    void deleteAppeal(Integer formId);

    Integer selectCount(Integer departmentId);

    List<FormModel> selectList(Integer id);

    List<RoadAndStreetModel> getRoad();

    List<RoadAndStreetModel> getStreet();
}
